package com.ruoyi.workflow.api;

import com.ruoyi.workflow.api.domain.vo.TaskModel;

import java.util.List;
import java.util.Map;

/**
 * 工作流通用业务服务
 *
 * @author gssong
 */
public interface RemoteWorkflowService {

    /**
     * 设置流程变量
     * @param taskId
     * @param variableName
     * @param value
     */
    void setVariable(String taskId, String variableName, Object value) ;

    /**
     * 设置流程变量
     * @param taskId
     * @param variables
     */
    void setVariables(String taskId, Map<String, Object> variables);

    /**
     * 获取当前任务
     * @param taskId
     */
    TaskModel getCurrentTask(String taskId);

    /**
     * 获取当前任务
     * @param processInstanceId
     */
    List<TaskModel> getCurrentTaskList(String processInstanceId);

    /**
     * 获取当前任务审批人
     * @param taskId
     */
    List<String> getCurrentApprover(String taskId);

}
